package org.gestorTareas.model.dao;

import java.util.List;

import org.apache.log4j.Logger;
import org.gestorTareas.model.dto.Dto;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

public class HibernateDao extends HibernateDaoSupport {
	
	private static Logger logger = Logger.getLogger(HibernateDao.class);

	public void delete(Dto dto) throws DataAccessException{
		getHibernateTemplate().delete(dto);
	}

	public void save(List<Dto> list) throws DataAccessException{
		getHibernateTemplate().saveOrUpdateAll(list);
	}
	
	public void save(Dto dto) throws DataAccessException{
		getHibernateTemplate().save(dto);
	}
	
	public void update(Dto dto) throws DataAccessException{
		getHibernateTemplate().update(dto);
	}

	public Dto get(Integer id, Dto dto) throws DataAccessException{
		return (Dto)getHibernateTemplate().get(dto.getClass(), id);
	}
	
	public List list(Class dto) throws DataAccessException{
		return  getSession().createCriteria(dto).list();
	}

}
